home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-08-17 | 11.9 KB | 289 lines | [TEXT/ttxt] |
- _______________________________________________________________
- TimGA — A freeware Mac application
- Version 1.1 (August 1996)
-
- By Timo Eloranta
- Copyright © 1995-96 Brown Eyes Software
- All rights reserved.
-
- Internet e-mail: timo.eloranta@ac.com
- _______________________________________________________________
-
- Contents
-
- • Description
- • Thesis
- • System Requirements
- • List of Files Included
- • Quick Instructions
- • Known Weaknesses
- • Version History
- • Credits & Acknowledgments
- • Distribution
- • Fine Print
- • One More Disclaimer...
- • Contacting the Author
-
-
- Description
-
- Given a graph — a bunch of nodes and edges that is — TimGA tries to draw
- it as "nicely" as possible by minimizing edge crossings among other things.
- The key feature of TimGA is its use of a genetic algorithm (GA).
-
- It is unlikely that anyone (except for myself) will find TimGA useful,
- but if you're interested in graph drawing and/or genetic algorithms you'll
- stand a good chance of finding TimGA interesting. Screensaver enthusiasts
- might also get a kick out of watching those drawings develop — maybe
- kids as well...
-
-
- Thesis
-
- TimGA was the side product of my Master's thesis which handles — not
- too surprisingly — the use of genetic algorithms for drawing graphs. The
- actual thesis — "Geneettisten algoritmien soveltaminen
- suuntaamattomien verkkojen piirtoon" — is available by request
- from the University of Tampere (ask for it from Erkki Mäkinen,
- em@cs.uta.fi), but it's unfortunately written in Finnish...
-
- The good news is that there's also an article length English version
- ("TimGA — A Genetic Algorithm For Drawing Undirected Graphs"),
- which has been submitted for publication in the International Journal of
- Computer Mathematics. For a copy of this article contact the above
- mentioned Mr. Mäkinen.
-
-
- System Requirements
-
- • a Mac equipped with a 68020 or greater CPU
- (a 68040 or a PowerPC is highly recommended...)
- • MacOS 7.0 or later
- • about 1 MB of free RAM
- • 13" or larger (640x480 or larger) monitor
- • ObjectSupportLib (only PowerMacs need this)
-
- • Note: TimGA is a "fat binary" and runs entirely in native PowerPC
- code if you have a PowerMacintosh (or compatible) !
-
-
- List of Files Included
-
- You should have received TimGA with the following files and folders:
-
- • TimGA 1.1
- = The application itself
-
- • ReadMe (TimGA)
- = This file
-
- • "Graphs" folder (with subfolders)
- = 30+ example graph files. These are in the format that TimGA
- understands. Note though that TimGA is in no way restricted to
- just these graphs. You can create new graphs yourself (read the
- instructions in the "More Documentation" folder) or let TimGA
- create random new graphs with the "Rnd New Graph..." command.
- FYI, the "Small" graphs have 14-32 edges, the "Bigger" ones
- up to 84 edges and the "Heavyweight" graphs (128-276 edges)
- should only be tried by PowerMac owners or people who enjoy
- waiting...
-
- • "Picts" folder
- = A small selection of drawings produced by TimGA (in PICT format).
- These files can NOT be opened by TimGA, but instead with Apple's
- own SimpleText or just about any graphics program (I recommend
- watching these with Aaron Giles' JPEGView in "Slide Show" mode).
- Note that TimGA 1.1 does not have a Save command, but you can copy
- the drawings to the clipboard with the Copy command and then paste
- to any graphics capable program. Alternatively you can capture
- drawings with the command-shift-3 snapshot command which
- is part of the MacOS.
-
- • "More Documentation" folder
- = For descriptions of the various menus & dialogs read the file
- "Help (TimGA)". If you'd like to write some graph files yourself
- please see the instructions in the file titled "Writing graph files".
-
-
- Quick Instructions
-
- It doesn't take many steps to put TimGA to work! Here goes...
-
- • Launch the application by double-clicking the icon of the application.
- • Now choose either "Open Graph..." or "Rnd New Graph..."
- from the "File" menu.
- • If you chose to open an existing graph, select one of the graph files
- in the "Graphs" folder. I recommend that you start with one of the
- files in the "(1) Small graphs" subfolder.
- • If you chose to try a random graph, TimGA will ask for the quantity
- of nodes and edges. When you're ready, click the OK button.
- • At this point you might want to set the termination condition(s) for the
- the iteration. It's not obligatory, but if you want, you can do this
- with the "Termination..." command in the "Settings" menu.
- • Start the action by selecting "Start" from the "Iteration" menu.
-
- TimGA now tries to draw the graph as nicely as possible. The iteration
- stops when one of the termination conditions you've set is filled or when
- you select "Pause" from the "Iteration" menu. You can try the same
- graph again by "rewinding" the iteration with the "Reinitialize" command.
- An interesting feature of TimGA is that the resulting drawings differ from
- run to run! It's like a box of chocolates, you never know what you get...
-
- Note: To change the size of the drawing grid (the default is 40x40) you
- should choose "General..." from the "Settings" menu. Unfortunately
- the current version of TimGA does not allow access to this menu item
- when there's an "open" graph. The graph must first be closed with the
- "Close Graph" command in the "File" menu. Sorry about this!
-
- To learn about the rest of the menu items and the various fields in the
- main display read the "Help (TimGA)" file or investigate yourself...
-
-
- Known Weaknesses
-
- TimGA 1.0 was released almost eight months ago and I haven't yet received
- a single bug report. So, TimGA should be stable enough (no cash prices for
- finding bugs though!), but it still has plenty of weaknesses and missing
- features. Here are the "highlights":
-
- • I know it's slow — especially on 680x0 Macs and/or when drawing big
- graphs. But hey, give me some credit! The problem of writing a program
- for drawing any kind of graph "nicely" is a rather difficult one...
-
- • The program has no saving. More specifically, you cannot save the state
- of iteration (to be continued later) or the produced drawings, and your
- settings are not saved to a prefs file. To make the list perfect, there's
- no printing either! And what is my excuse? Well, TimGA is an
- "academic toy". If the program would have "real users", all of these
- lacking features could/should be added.
-
- >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- Version 1.1 fixes some of the problems in this area by allowing you to
- copy your drawings to the clipboard. You can then paste the pictures
- to any printing capable graphics or word processing program.
- <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
- • Entering your own graphs should be made easier. Currently this is done
- by writing a "graph file" with a text editor (if interested, read the
- file titled "Writing graph files"), but a simple graph editor with
- graphical user interface would of course be much better.
-
- • The thing with General Settings which I mentioned above in the "Quick
- Instructions" section. I won't bore you with the reason that's causing
- it. I'll probably fix this "feature" if I get enough complaints...
-
- • There's no balloon help (actually there is ONE balloon...) or an Apple
- Guide. Adding these is pretty low on my list of things to do...
-
- I'm sure these are not the only weaknesses of TimGA. If you have some other
- ideas for improving this program, I'd be interested in hearing them!
-
-
- Version History
-
- 1.1 17 August 1996
- • First public release with the new features of 1.0.2
- (copy command, grid scaling and the b&w mode).
- • Updated the documentation (new contact info etc.)
-
- 1.0.2 06 May 1996 (never released to general public)
- • Added support for the clipboard (copy command!).
- • Added a sort of zooming. You can now manually (and without even
- pausing the iteration...) change the grid square size, which affects
- the size of the drawing.
- • Added support for a b&w mode, which I personally prefer when
- copying pictures to clipboard and then printing them with another app.
- • Fixed a bug (introduced by version 1.0.1) which caused a crash on
- 68K Macs when opening a graph file where the graph had >256 edges...
- • Removed the job hunt notice from documentation (but you can still
- offer me Mac development related positions if you want...).
-
- 1.0.1 21 Feb 1996
- • Many optimizations. With small graphs the iteration speed is now
- roughly 155% faster than with version 1.0. With big graphs
- (over 100 edges) the improvement is "only" around 45%.
- • Added notes about the Termination dialog to the documentation.
-
- 1.0 22 Dec 1995
- • Initial public release.
-
-
- Credits & Acknowledgments
-
- • First of all, my thanks to Erkki Mäkinen, who introduced me to the world
- of genetic algorithms and suggested the topic of my Master's thesis.
-
- • For risking their Macs and giving loads of useful comments and
- suggestions I'd like to thank my international beta-testing crew:
-
- Eric Allen, Leo Breebaart, Tilman Brodmeier,
- Juha Herajärvi, Martin Krueger, Miika Matilainen,
- Michael Mitchener, Arne Schirmacher and Javier Sisamón.
-
- • Special thanks to fellow programmers who have released source code,
- libraries and PowerPlant classes for others to use and learn from. TimGA
- benefits from the following such libraries and PP classes:
-
- • STL by Hewlett-Packard Company
- Info available from http://www.cs.rpi.edu/~musser/stl.html
-
- • LProgressIndicator by Chris K. Thomas (ckt@best.com)
- • Slider by Scott Squires (squires@crl.com)
-
- LProgressIndicator and Slider are both available from
- the PowerPlant Contributed Class Archive at
- ftp://atlantis.metrowerks.com/pub/powerplant/
-
- • TimGA 1.1 was created using CodeWarrior 9 (by Metrowerks) and
- ResEdit 2.1.3 (by Apple). I highly recommend the PowerPlant
- framework which is part of the CodeWarrior package.
-
- • Folder icons were made with Folder Icon Maker 1.5 by Greg Robbins.
-
-
- Distribution
-
- TimGA is freeware, which means that you can use the program for free
- but that I still retain the copyright. More specifically, this program cannot
- be sold for a profit or distributed thru a commercial channel
- without my written consent. Distribution via online services, BBS's,
- Internet, person-to-person and other non-commercial means is acceptable
- provided that all original and unaltered files are included in the package.
-
-
- Fine Print
-
- [ Like I said, TimGA should be very stable, but here comes the boring
- stuff anyway... ]
-
- TimGA is supplied "as is". The author makes no warranties, either express
- or implied, and will not be liable for any special, incidental, consequential
- or indirect damages, including but not limited to loss of data or psychological
- damage. The person using this software bears all risk as to its quality and
- performance. By using this software, you are subject and agree to the terms
- in this disclaimer. In short, use TimGA at your own risk.
-
-
- One More Disclaimer...
-
- My current employer, which some of you might guess from my e-mail address,
- has absolutely _nothing_ to do with TimGA or other freeware programs
- which I've released under the title of Brown Eyes Software. Clear enough ?
-
-
- Contacting the Author
-
- For questions, praise, bug reports (oh no!), comments and job offers, I can be
- reached via Internet e-mail at
-
- timo.eloranta@ac.com
-
- or by "snail mail" (postcards would be greatly appreciated!) at
-
- Timo Eloranta
- Vänrikki Stoolin katu 10B A2
- FIN-00100 Helsinki
- Finland (Europe)
-
- _______________________________________________________________
-